package pl.edu.agh.agents.xml;

import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;

/**
 * klasa opakowujaca stan, dla XStream
 * @author Kuba
 *
 */
@XStreamAlias("State")
public class XMLState {
	private int ID;
	private List<Integer> neighbors;
	private int x;
	private int y;
	private boolean sink;
	private double enteringProb;
	
	public XMLState(int ID, int x, int y, boolean sink, double enteringProb) { 
		this.ID = ID;
		this.x = x;
		this.y = y;
		this.sink = sink;
		this.enteringProb = enteringProb;
		this.neighbors = new ArrayList<Integer>();
	}
	
	public int getID() {
		return ID;
	}

	public List<Integer> getNeighborIDs() {
		return neighbors;
	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}
	
	public void addNeighbor(int neighborID) {
		neighbors.add(neighborID);
	}
	
	public boolean isSink() {
		return sink;
	}
	
	public double getEnteringProb() {
		return enteringProb;
	}
}